define(
[
  'dojo/_base/declare',
  'dojo/on',
  'dojo/dom',
  'graphtest/InitD3',
  'graphtest/InitD3v02',
  'graphtest/InitD3Transition',
  'graphtest/InitD3DataGraph',
  'graphtest/DiceDistributionGenerator'
],
function(declare, on, dom, InitD3, InitD3v02, InitD3Transition, InitD3DataGraph, DiceDistributionGenerator)
{
  return declare([],
    {
      classCode: 'MainObject',
      
      constructor:function(args)
      {
        console.log(this.classCode, "I'm in constructor", this.classCode);
      },
      
      postscript:function()
      {
        console.log(this.classCode, "I'm in postscript", this.classCode);
        //this.initD3 = new InitD3();
        
        this.initD3v02 = new InitD3v02();
        this.initD3Transition = new InitD3Transition();
        this.diceDistributionGenerator = new DiceDistributionGenerator();
        var opt =
        {
          faces: [1,2,3,4,5,6],
          dicesNumber: 4
        };
        this.diceDistributionGenerator.setup(opt);
        this.diceDistributionGenerator.startCalculateDistribution();
        this.diceDistributionGenerator.printRes();
        console.log(this.diceDistributionGenerator.getData());
        var data = this.diceDistributionGenerator.getData();
        this.initD3DataGraph = new InitD3DataGraph(data);
      },
      
      endOfLib:null
    });
});